package com.xquant.marketdata.marketdata.domain;

import java.math.BigDecimal;
import com.xquant.common.core.annotation.Excel;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

/**
 * 基金对象 tfnd
 *
 * @author ruoyi
 * @date 2022-03-07
 */
public class Tfnd
{
    private static final long serialVersionUID = 1L;

    /** 金融工具代码 */
    private String iCode;

    /** 资产类型 */
    private String aType;

    /** 市场类型 */
    private String mType;

    /** 交易所本地代码 */
    @Excel(name = "交易所本地代码")
    private String lCode;

    /** 币种 */
    @Excel(name = "币种",dictType = "CURRENCY")
    private String currency;

    /** 国家 */
    @Excel(name = "国家")
    private String country;

    /** 报价方式 */
    @Excel(name = "报价方式")
    private String qType;

    /** 基金名称 */
    @Excel(name = "基金名称")
    private String fName;

    /** 产品分类 */
    @Excel(name = "产品分类")
    private String pClass;

    /** 上市日期 */
    @Excel(name = "上市日期")
    private String fDate;

    /** 开放日期 */
    @Excel(name = "开放日期")
    private String fOpendate;

    /** 管理者 */
    @Excel(name = "管理者")
    private String fManager;

    /** 托管方 */
    @Excel(name = "托管方")
    private String fTrustee;

    /** 导入日期 */
    @Excel(name = "导入日期")
    private String impDate;

    /** 导入管道 */
    @Excel(name = "导入管道")
    private Long pipeId;

    /** 产品类型 */
    @Excel(name = "产品类型")
    private String pType;

    /** 拼音 */
    @Excel(name = "拼音")
    private String chinesespell;

    /** 产品状态 */
    @Excel(name = "产品状态")
    private String state;

    /** 操作人id */
    @Excel(name = "操作人id")
    private Long userId;

    /** 操作人 */
    @Excel(name = "操作人")
    private String userName;

    /** 管理者代码 */
    @Excel(name = "管理者代码")
    private String fManagerCode;

    /** 托管方代码 */
    @Excel(name = "托管方代码")
    private String fTrusteeCode;

    /** 管理者id */
    @Excel(name = "管理者id")
    private Long issuerId;

    /** 投资类型 */
    @Excel(name = "投资类型")
    private String fInvestType;

    /** 成立日期 */
    @Excel(name = "成立日期")
    private String fSetupdate;

    /** 基金经理 */
    @Excel(name = "基金经理")
    private String fManagerName;

    /** 是否指数型基金(0:否 1:是) */
    @Excel(name = "是否指数型基金(0:否 1:是)")
    private String isIdx;

    /** 巨额赎回认定比例 */
    @Excel(name = "巨额赎回认定比例")
    private BigDecimal hugeRedemptionRatio;

    /** 结转复利方式，0：单利；2：连续复利；仅对货币基金有效 */
    @Excel(name = "结转复利方式，0：单利；2：连续复利；仅对货币基金有效")
    private Long compoundingMethod;

    /** 标准类型 */
    @Excel(name = "标准类型")
    private String sType;

    /** 到期日期 */
    @Excel(name = "到期日期")
    private String fMtrdate;

    /** 基金面值 */
    @Excel(name = "基金面值")
    private BigDecimal parValue;

    /** 结转频率，仅对货币基金有效 */
    @Excel(name = "结转频率，仅对货币基金有效")
    private String payFreq;

    /** 分级基金类型，0：非分级基金；1：分级母基金；2：分级子基金A类；3：分级子基金B类； */
    @Excel(name = "分级基金类型，0：非分级基金；1：分级母基金；2：分级子基金A类；3：分级子基金B类；")
    private Long fGradeType;

    /** 全称 */
    @Excel(name = "全称")
    private String fNameFull;

    /** 支付月 */
    @Excel(name = "支付月")
    private String payMonth;

    /** 支付日, 1~31:指定自然日; 101:第一个工作日; 102:第二个工作日; 103:倒数第二个工作日; 104:最后一个工作日; */
    @Excel(name = "支付日, 1~31:指定自然日; 101:第一个工作日; 102:第二个工作日; 103:倒数第二个工作日; 104:最后一个工作日;")
    private String payDay;

    /** ISIN码 */
    @Excel(name = "ISIN码")
    private String isinCode;

    /** 导入时间 */
    @Excel(name = "导入时间")
    private String impTime;

    /** 基金名称 */
    @Excel(name = "基金名称")
    private String name;

    /** ISSUER_CODE */
    @Excel(name = "ISSUER_CODE")
    private String issuerCode;

    /** 基金主代码(分级基金相同) */
    @Excel(name = "基金主代码(分级基金相同)")
    private String mainCode;

    /** 跟踪指数交易代码 */
    @Excel(name = "跟踪指数交易代码")
    private String uICode;

    /** 跟踪指数资产类型 */
    @Excel(name = "跟踪指数资产类型")
    private String uAType;

    /** 跟踪指数市场类型 */
    @Excel(name = "跟踪指数市场类型")
    private String uMType;

    public void setiCode(String iCode)
    {
        this.iCode = iCode;
    }

    public String getiCode()
    {
        return iCode;
    }
    public void setaType(String aType)
    {
        this.aType = aType;
    }

    public String getaType()
    {
        return aType;
    }
    public void setmType(String mType)
    {
        this.mType = mType;
    }

    public String getmType()
    {
        return mType;
    }
    public void setlCode(String lCode)
    {
        this.lCode = lCode;
    }

    public String getlCode()
    {
        return lCode;
    }
    public void setCurrency(String currency)
    {
        this.currency = currency;
    }

    public String getCurrency()
    {
        return currency;
    }
    public void setCountry(String country)
    {
        this.country = country;
    }

    public String getCountry()
    {
        return country;
    }
    public void setqType(String qType)
    {
        this.qType = qType;
    }

    public String getqType()
    {
        return qType;
    }
    public void setfName(String fName)
    {
        this.fName = fName;
    }

    public String getfName()
    {
        return fName;
    }
    public void setpClass(String pClass)
    {
        this.pClass = pClass;
    }

    public String getpClass()
    {
        return pClass;
    }
    public void setfDate(String fDate)
    {
        this.fDate = fDate;
    }

    public String getfDate()
    {
        return fDate;
    }
    public void setfOpendate(String fOpendate)
    {
        this.fOpendate = fOpendate;
    }

    public String getfOpendate()
    {
        return fOpendate;
    }
    public void setfManager(String fManager)
    {
        this.fManager = fManager;
    }

    public String getfManager()
    {
        return fManager;
    }
    public void setfTrustee(String fTrustee)
    {
        this.fTrustee = fTrustee;
    }

    public String getfTrustee()
    {
        return fTrustee;
    }
    public void setImpDate(String impDate)
    {
        this.impDate = impDate;
    }

    public String getImpDate()
    {
        return impDate;
    }
    public void setPipeId(Long pipeId)
    {
        this.pipeId = pipeId;
    }

    public Long getPipeId()
    {
        return pipeId;
    }
    public void setpType(String pType)
    {
        this.pType = pType;
    }

    public String getpType()
    {
        return pType;
    }
    public void setChinesespell(String chinesespell)
    {
        this.chinesespell = chinesespell;
    }

    public String getChinesespell()
    {
        return chinesespell;
    }
    public void setState(String state)
    {
        this.state = state;
    }

    public String getState()
    {
        return state;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setUserName(String userName)
    {
        this.userName = userName;
    }

    public String getUserName()
    {
        return userName;
    }
    public void setfManagerCode(String fManagerCode)
    {
        this.fManagerCode = fManagerCode;
    }

    public String getfManagerCode()
    {
        return fManagerCode;
    }
    public void setfTrusteeCode(String fTrusteeCode)
    {
        this.fTrusteeCode = fTrusteeCode;
    }

    public String getfTrusteeCode()
    {
        return fTrusteeCode;
    }
    public void setIssuerId(Long issuerId)
    {
        this.issuerId = issuerId;
    }

    public Long getIssuerId()
    {
        return issuerId;
    }
    public void setfInvestType(String fInvestType)
    {
        this.fInvestType = fInvestType;
    }

    public String getfInvestType()
    {
        return fInvestType;
    }
    public void setfSetupdate(String fSetupdate)
    {
        this.fSetupdate = fSetupdate;
    }

    public String getfSetupdate()
    {
        return fSetupdate;
    }
    public void setfManagerName(String fManagerName)
    {
        this.fManagerName = fManagerName;
    }

    public String getfManagerName()
    {
        return fManagerName;
    }
    public void setIsIdx(String isIdx)
    {
        this.isIdx = isIdx;
    }

    public String getIsIdx()
    {
        return isIdx;
    }
    public void setHugeRedemptionRatio(BigDecimal hugeRedemptionRatio)
    {
        this.hugeRedemptionRatio = hugeRedemptionRatio;
    }

    public BigDecimal getHugeRedemptionRatio()
    {
        return hugeRedemptionRatio;
    }
    public void setCompoundingMethod(Long compoundingMethod)
    {
        this.compoundingMethod = compoundingMethod;
    }

    public Long getCompoundingMethod()
    {
        return compoundingMethod;
    }
    public void setsType(String sType)
    {
        this.sType = sType;
    }

    public String getsType()
    {
        return sType;
    }
    public void setfMtrdate(String fMtrdate)
    {
        this.fMtrdate = fMtrdate;
    }

    public String getfMtrdate()
    {
        return fMtrdate;
    }
    public void setParValue(BigDecimal parValue)
    {
        this.parValue = parValue;
    }

    public BigDecimal getParValue()
    {
        return parValue;
    }
    public void setPayFreq(String payFreq)
    {
        this.payFreq = payFreq;
    }

    public String getPayFreq()
    {
        return payFreq;
    }
    public void setfGradeType(Long fGradeType)
    {
        this.fGradeType = fGradeType;
    }

    public Long getfGradeType()
    {
        return fGradeType;
    }
    public void setfNameFull(String fNameFull)
    {
        this.fNameFull = fNameFull;
    }

    public String getfNameFull()
    {
        return fNameFull;
    }
    public void setPayMonth(String payMonth)
    {
        this.payMonth = payMonth;
    }

    public String getPayMonth()
    {
        return payMonth;
    }
    public void setPayDay(String payDay)
    {
        this.payDay = payDay;
    }

    public String getPayDay()
    {
        return payDay;
    }
    public void setIsinCode(String isinCode)
    {
        this.isinCode = isinCode;
    }

    public String getIsinCode()
    {
        return isinCode;
    }
    public void setImpTime(String impTime)
    {
        this.impTime = impTime;
    }

    public String getImpTime()
    {
        return impTime;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setIssuerCode(String issuerCode)
    {
        this.issuerCode = issuerCode;
    }

    public String getIssuerCode()
    {
        return issuerCode;
    }
    public void setMainCode(String mainCode)
    {
        this.mainCode = mainCode;
    }

    public String getMainCode()
    {
        return mainCode;
    }
    public void setuICode(String uICode)
    {
        this.uICode = uICode;
    }

    public String getuICode()
    {
        return uICode;
    }
    public void setuAType(String uAType)
    {
        this.uAType = uAType;
    }

    public String getuAType()
    {
        return uAType;
    }
    public void setuMType(String uMType)
    {
        this.uMType = uMType;
    }

    public String getuMType()
    {
        return uMType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("iCode", getiCode())
            .append("aType", getaType())
            .append("mType", getmType())
            .append("lCode", getlCode())
            .append("currency", getCurrency())
            .append("country", getCountry())
            .append("qType", getqType())
            .append("fName", getfName())
            .append("pClass", getpClass())
            .append("fDate", getfDate())
            .append("fOpendate", getfOpendate())
            .append("fManager", getfManager())
            .append("fTrustee", getfTrustee())
            .append("impDate", getImpDate())
            .append("pipeId", getPipeId())
            .append("pType", getpType())
            .append("chinesespell", getChinesespell())
            .append("state", getState())
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("fManagerCode", getfManagerCode())
            .append("fTrusteeCode", getfTrusteeCode())
            .append("issuerId", getIssuerId())
            .append("fInvestType", getfInvestType())
            .append("fSetupdate", getfSetupdate())
            .append("fManagerName", getfManagerName())
            .append("isIdx", getIsIdx())
            .append("hugeRedemptionRatio", getHugeRedemptionRatio())
            .append("compoundingMethod", getCompoundingMethod())
            .append("sType", getsType())
            .append("fMtrdate", getfMtrdate())
            .append("parValue", getParValue())
            .append("payFreq", getPayFreq())
            .append("fGradeType", getfGradeType())
            .append("fNameFull", getfNameFull())
            .append("payMonth", getPayMonth())
            .append("payDay", getPayDay())
            .append("isinCode", getIsinCode())
            .append("impTime", getImpTime())
            .append("name", getName())
            .append("issuerCode", getIssuerCode())
            .append("mainCode", getMainCode())
            .append("uICode", getuICode())
            .append("uAType", getuAType())
            .append("uMType", getuMType())
            .toString();
    }
}
